In current practice, users frequently interact with computing devices and other equipment via language understanding (LU) systems. A typical LU system receives a spoken or typed linguistic item from the user in the course of the user's interaction with a particular application (or some other device functionality). As used herein, a “linguistic item” refers to any information expressed in a natural language, such as a query, command, etc. The LU system recognizes the words in the linguistic item and then interprets the meaning of the linguistic item as a whole, to provide interpretation results. The application then performs some action based on the interpretation results. For example, without limitation, based on a user's command or query, the application may perform: a search operation (e.g., to retrieve information from the Internet or other repository of information); a knowledge base lookup operation; a service access operation (e.g., to access a web service); a control operation to control some program functionality or equipment, etc.
Each developer typically generates an LU system that applies to a specific service point and application domain. For example, a developer may generate an LU system for specific use with a game console for the purpose of interpreting a user's game-playing commands. Another developer may generate an LU system for specific use with a smartphone for the purpose of providing navigational assistance to a user, and so on. The above-noted approach to developing LU systems, however, is labor-intensive, costly and prone to error.